home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / lib / mntlib44.zoo / mntlib / sozobon / readme < prev    next >
Encoding:
Text File  |  1994-03-01  |  6.0 KB  |  143 lines

  1. MiNT library for Heat-n-Serve/Sozobon C, patchlevel 43
  2.  
  3. This is a port of Eric Smith's MiNT library to Heat-n-Serve C, based on
  4. Dave Gymer's original port.  It replaces the files dlibs.a, dstart.o,
  5. and libm.a from the original Heat-n-Serve distribution, and includes a
  6. simple termcap library.
  7.  
  8. If you are currently using HSC v1.33i or earlier, I _strongly_ recommend
  9. upgrading to at least 1.40 before attempting to compile this library.
  10. The make and ar from previous versions of HSC don't understand ARGV and
  11. hence can't cope with the literally hundreds of command-line arguments
  12. that the makefile tries to throw at them.
  13.  
  14. As of version 30, you will need extra tools to build the HSC MiNTlibs.
  15. At the site where you found this archive, look for the following
  16. archives:
  17.  
  18.     mntincXX.zoo
  19.         The library header files for version XX (currently 43).  If
  20.         you're using the MiNTlibs at all, you should already have these.
  21.     mnthlbXX.zoo
  22.         The binary distribution of the MiNTlibs.  You will need this for
  23.         the floating-point library libm.a, which is no longer distributed
  24.         with this archive.
  25.     cpp.zoo
  26.     A stand-alone C preprocessor.  Extremely useful in its own
  27.     right, since HSC doesn't have the -E option.
  28.     mit2mot.zoo
  29.     A MIT-to-Motorola assembly code translator.  This and cpp will
  30.     be used to convert the .cpp files in the MiNTlibs distribution
  31.     to .s files that HSC can deal with.
  32.  
  33. WHAT'S HERE:
  34.  
  35.     readme
  36.         This file.
  37.     inistack.s
  38.     linea.s
  39.     lmalloc.s
  40.     sozolong.s
  41.     sozulong.s
  42.     termcap.c
  43.     makefile
  44.         HSC-specific source files.
  45.     ps.c
  46.     Source for a process listing utility, as an example of MiNT
  47.     programming.
  48.  
  49. WHAT TO DO WITH IT:
  50.  
  51. 0)  Obtain all of the files listed above.
  52.  
  53. 1)  Copy libm.a from the MiNT binaries distribution to the directory
  54.     where the MiNT libraries will live.  Install the MiNT header files
  55.     if you have not already done so.  Put cpp.ttp and mit2mot.ttp
  56.     somewhere where make can find them.
  57.  
  58. 2)  From the main source directory, delete all files beginning with '_',
  59.     as well as alglobal.c, linea.c and inistack.c.  Copy all the .s
  60.     files from this directory, as well as termcap.c and makefile, to the
  61.     main source directory.
  62.  
  63. 3)  Edit osbind.h from the MiNT include distribution.  Find the macro
  64.     definitions for trap_14_wllwwwwwlw(), spanning lines 1318-1358 and
  65.     1465-1509 (or thereabouts).  Delete every scrap of white space you
  66.     can from these macros.  Otherwise, they overrun HSC's static line
  67.     buffer.
  68.  
  69. 4)  Replace the gemfast.h from the MiNT distribution with the gemfast.h
  70.     from the Heat-n-Serve distribution (the GEMfast that comes with
  71.     HSC is almost certainly more recent than the header file from the
  72.     MiNT distribution).
  73.  
  74. 5)  cd to the main source directory and type `make'.  Go watch a
  75.     movie. ;)
  76.  
  77.     NB.  You may have noticed that the makefile has a `short_names'
  78.     target.  You should not need to invoke this, unless you want to
  79.     build a 1.40-compatible library with a version of HSC that supports
  80.     long external identifiers (v2.00 and up).
  81.  
  82. 5a) If you have old versions of make and ar, the actual creation of
  83.     dlibs.a should have stopped with an error message.  This is because
  84.     these old versions simply can't cope with the hideously long command
  85.     line necessary to build dlibs.a.  At this point, you'll have to
  86.     build dlibs.a manually, a few files at a time.  Consult the makefile
  87.     to see what files need to be added and the necessary commands to add
  88.     them.  Then type `make' again to build the rest of the distribution.
  89.  
  90. 6)  Copy dlibs.a, dstart.o and libtermcap.a (or libtermc.a) to your MiNT
  91.     library directory.  Also copy aesfast.a and vdifast.a from the
  92.     Heat-n-Serve distribution.
  93.  
  94. HOW TO USE IT:
  95.  
  96. Couldn't be simpler -- just set the environment variables LIB and
  97. INCLUDE to point to the appropriate directories and go.  In fact, you'll
  98. probably never need to use the Heat-n-Serve dLibs package again; I
  99. recommend keeping it around, though, just in case.  Should you ever need
  100. to switch back temporarily, just set LIB and INCLUDE accordingly.
  101.  
  102. DISCLAIMER:
  103.  
  104. What, you were expecting an ironclad guarantee of performance? ;)  Okay,
  105. while I have built several large programs with this library with no
  106. problems, I can't guarantee that there aren't still a few bugs lurking
  107. around in the code.  Caveat emptor, use at your own risk, and all that
  108. jazz.  And if you should happen to find a bug, please notify me at the
  109. address below.
  110.  
  111. Have fun!
  112.  
  113. Scott Bigham                dsb@cs.duke.edu
  114.  
  115. [Here's Dave's original readme file.  Little if any of it still applies,
  116.  but hey, credit where it's due...]
  117. ==========================================================================
  118. Here's my (dodgy) port of MiNTlib to Sozobon C.
  119.  
  120. This has not been fully tested, and there is no floating point support,
  121. because I have no interest in that direction.
  122.  
  123. I used the Sozobon C 2.0 source as distributed, built under GCC 1.39 as
  124. a UNIX hosted cross compiler, to do my original port (which was
  125. released as part of pl18 of the library). Later versions were done with
  126. Ian Lepore's 1.33i release. I used GNU make; your mileage under any
  127. other make may vary. I did carry on using a version of ar compiled with
  128. the GCC, since only a version compiled with the MiNTlib understands
  129. about long arg lists, such as the enourmous list of modules given.
  130.  
  131. To build this library, delete all the *.s and *.cpp files from the main
  132. lib directory, and also linea.c, which clashes with linea.s. Then copy
  133. all the files in the sozobon directory into the lib directory, and hit
  134. make (some adjustment of the makefile may be necessary).
  135.  
  136. You might look on this as a farewell gift to MiNT, since I'm awaiting
  137. delivery of a brand new 386DX-33 PC to try Linux out on; if it works,
  138. I'm unlikely to use my ST much any more other than for soundtracking
  139. and archival purposes (though I will try to build a cross-gcc, to keep
  140. an eye on how MiNT progresses).
  141.  
  142. -- Dave Gymer (dpg@Cs.Nott.AC.UK)
  143.